#closse方法、get方法、put方法简单使用：多进程访问同一个Queue
from multiprocessing import Queue,Process
import time,os
#参数q就是Queue实例
def mark(q,interval):
    time.sleep(interval)
    # 打印信息
    print("进程%d取出数据："%os.getpid()+queue.get(True))


if __name__=="__main__":
    queue = Queue(3)  # 初始化一个Queue队列，可以接受3个消息
    queue.put("我是第1条信息")
    queue.put("我是第2条信息")
    queue.put("我是第3条信息")

    p1=Process(target=mark,args=(queue,1))
    p2=Process(target=mark,args=(queue,2))
    p3=Process(target=mark,args=(queue,3))

    p1.start()
    p2.start()
    p3.start()
    # 关闭队列，不再插入信息
    queue.close()
    # 下面插入会导致异常
    # queue.put("我是第4条信息")

    # 打印第1条信息
    print("程序语句执行完成")






